Typical computer systems, especially computer systems using graphical user interfaces (GUIs), are optimized for accepting user input from one or more discrete input devices, such as a keyboard for entering text, and a pointing device, such as a mouse with one or more buttons, for operating the user interface. An example of such a GUI is the user interface for the Windows® computer operating system (available from Microsoft Corporation of Redmond, Wash.). The ubiquitous keyboard and mouse interface provides for fast creation and modification of documents, spreadsheets, database fields, drawings, photos, and the like.
In GUIs, several individual and/or independent “control elements” (also called “user interface elements” in this specification) may be visible on the screen and/or available in the interface at a given time (see, for example, control elements 302-330 in the interface screen 300 of FIG. 3). User interfaces for typical GUIs have used the concept of “keyboard focus” to determine and establish which control element of the interface will receive keystrokes typed into the computer system by the user (or receive other input, e.g., from another source). In at least some instances, the appearance of the user interface element having keyboard focus will change in some manner as a visual indication to the user of the ultimate destination of future keystrokes or other input. Through the use of keyboard focus, users can quickly and easily determine where the next keyboard strokes or other input will go, and they can make any necessary or desired changes to the focus (e.g., by tabbing the input cursor from one control element to another and/or by clicking a mouse button within the representation of a different control element). If no element of the user interface has keyboard focus, the computer system typically will ignore input keystrokes until keyboard focus is established in one of the available control elements.
Recently, pen-based computing systems, such as tablet PCs and the like, have been increasing in popularity. In pen-based computing systems, user input advantageously may be introduced using an electronic “pen” or stylus (e.g., akin to writing with a pen or pencil on a piece of paper). Indeed, in at least some pen-based computing systems, all user input is capable of being entered and manipulated using an electronic pen, and the user interface is fully controllable using only the electronic pen. In such systems, the use of traditional “keyboard focus” may not be possible or convenient, at least in all situations, for example, because electronic pens for pen-based computing systems typically do not have “tab” keys or other buttons that enable establishment of a focus region in the same manner as a keyboard or mouse.
Establishing focus by “tapping” an electronic pen in a desired control element or pressing a button on the pen (if any) while hovering over the desired control element, while effective, would not provide a very satisfying or natural user experience. For example, when filling out a form using a pen-based computing system (like the form illustrated in FIG. 3), a user may be required to tap the electronic pen in each control element box of the form (e.g., inside control elements 302-330) to establish focus in that element prior to entering electronic ink data into that control element box. Failure to tap in the control element box prior to writing to enter electronic ink may result in non-receipt, non-acceptance, or incomplete receipt of the electronic ink data and/or misdirection of the input ink data. The user may not notice immediately that the system is not correctly receiving or accepting the ink, thereby requiring re-writing of the data and/or other corrective action. Additionally, the need to tap in a control element box before writing in it is not a natural writing experience. These factors will tend to frustrate the user and degrade from the user's experience with the pen-based computing system.
Additionally, many control elements 302-330 in user interfaces 300 are relatively small sized. While this is not a problem when a user types input information into the control elements 302-330 using a keyboard (the type face can be appropriately and automatically sized to fit into the control element), the small size can cause difficulties when the user attempts to handwrite information into the control element using an electronic pen. These difficulties may result in incomplete and/or non-entry of the data, a result that also is frustrating to users of electronic ink and pen-based computing systems. Other systems that provide a “writing pad” separate from the control element box where the data eventually appears (like some handheld or pocket-sized computing devices) also do not provide a natural writing experience.
Accordingly, there is a need in the art for an easy, natural, and trustworthy way of establishing “stylus focus” and entering input data for use in pen-based computing systems and other devices that accept input in the form of electronic ink and/or from an electronic pen or stylus.